
namespace SIP.PN.Modelo.Entidades
{
    public class TareaRequisito
    {
        private ProyectoTarea tarea;
        private NivelEspecialidad nivelEspecialidad;
        private int cantidad;

        public virtual ProyectoTarea Tarea
        {
            get { return tarea; }
            set { tarea = value; }
        }

        public virtual NivelEspecialidad NivelEspecialidad
        {
            get { return nivelEspecialidad; }
            set { nivelEspecialidad = value; }
        }

        public virtual int Cantidad
        {
            get { return cantidad; }
            set { cantidad = value; }
        }

        #region Metodos Sobreescritos

        public override bool Equals(object obj)
        {
            TareaRequisito otro = obj as TareaRequisito;
            if (otro == null) return false;
            
            return otro.Tarea.Equals(Tarea)&& otro.NivelEspecialidad.Equals(NivelEspecialidad);
        }

        public override int GetHashCode()
        {
            return string.Format("{0}-{1}", GetType(), ToString()).GetHashCode();
        }

        public override string ToString()
        {
            return string.Format("{0}-{1}", Tarea.Codigo, NivelEspecialidad.Codigo);
        }

        #endregion
    }
}
